The amount of data that even casual users generate and interact with is ever increasing. For example, a user may interact with a social network service, store photos, communicate the photos with other users, read and respond to emails and instant messages, view videos, and so on. Consequently, the resources used to support this interaction (e.g., data storage and communication) may become burdened by this amount of data. Traditional techniques that were utilized to alleviate at least some of this strain, however, were often disjointed and therefore could also consume significant amounts of resources and limit the sophistication of the techniques that could be employed.